import 'package:core/mvi/mvi_view_model.dart';
import 'package:domain/usecases/banner_use_case.dart';
import 'package:domain/usecases/home_article_use_case.dart';
import 'package:feature_main/ui/home_tab/viewmodel/state_and_events.dart';

class HomeTabFragmentViewModel
    extends
        MVIViewModel<
          HomeTabFragmentUiState,
          HomeTabFragmentEvent,
          HomeTabFragmentEffect
        > {
  final BannerUseCase _bannerUseCase;
  final HomeArticleUseCase _articleUseCase;

  HomeTabFragmentViewModel({
    required BannerUseCase bannerUseCase,
    required HomeArticleUseCase articleUseCase,
  }) : _bannerUseCase = bannerUseCase,
       _articleUseCase = articleUseCase;

  @override
  void handleEvent(HomeTabFragmentEvent event) {
    switch (event) {
      case HomeTabFragmentInitEvent():
        _processInitEvent();
        break;
    }
  }

  void _processInitEvent() async {}

  @override
  HomeTabFragmentUiState get initialState =>
      HomeTabFragmentUiState.initialState;
}
